home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir31 / melsc.zip / MANUAL.TXT < prev    next >
Text File  |  1994-01-15  |  52KB  |  1,073 lines

  1. User's Guide to Melodia / Sound Card
  2.  
  3. Introduction:
  4.  
  5. Most new technology, when first introduced, imitates older
  6. technology.  Early photographs of people seem stilted today
  7. because they were posed like portrait paintings. Early films
  8. looked like poor imitations of plays, because the camera shots
  9. were set up as if viewing a play.  More recently, early computer
  10. images looked like poor quality photos.  In each of these
  11. instances, as the technology advanced people began to understand
  12. what the new medium could do that was different from the one it
  13. conceptually grew out of, and the work produced eventually took
  14. on its own unique character.
  15.  
  16. Computer music tools, not surprisingly, have been following the
  17. same path.  Most of the music software available today has yet
  18. to break out of the traditional, well understood approach to
  19. making music. The software gives you a computer imitation of a
  20. tape recorder, or of a score editor, or both.  It still assumes
  21. humans need to make music on instruments that must be played by
  22. physical means, limited by human physical response times.
  23.  
  24. More importantly, the traditional approach requires that to make
  25. good music, the musician must have spent years developing manual
  26. dexterity skills and an understanding of complex musical
  27. structures.
  28.  
  29. Melodia is one of an emerging group of computer music tools
  30. known as "algorithmic composing programs."  These programs
  31. generally are attempts to free musical artists from the tyranny
  32. of a tradition that grew out of the physical limitations of the
  33. medium, just as photography freed visual artists.  They do not
  34. try to replace the traditional methods.  They do offer a
  35. completely new medium with new rules and with different
  36. strengths and limitations.
  37.  
  38. With Melodia, you concentrate on the overall patterns and sound
  39. relationships of your music.  You will do best if you approach
  40. it with an open mind, unencumbered with the need to make it
  41. sound like the music that is familiar to you.  By allowing the
  42. computer to do the grunt work of playing the instruments and
  43. keeping track of the math-like musical relationships, you are
  44. freed to do what humans do best: the creative part.
  45.  
  46. Historical Note:
  47.  
  48. Melodia is derived from a MIDI based algorithmic composing
  49. program, called MusicBox when it was first released in 1984,
  50. with later versions renamed to "Kinetic Music Machine" ("KMM"). 
  51. KMM is a kind of programming language for MIDI.  It is the
  52. ultimate in flexibility at the expense of ease of use at the
  53. higher levels of musical organization.  KMM was developed to
  54. experiment with algorithmic music concepts, Melodia has been
  55. developed to make it easier to use these concepts to produce
  56. musical compositions.
  57.  
  58. Both of these programs are deeply indebted to the work of Joseph
  59. Schillinger, who attempted to codify art in general and music in
  60. particular into a system of small whole number relationships.
  61.  
  62. Although Schillinger attempted to codify traditional, mostly
  63. Western, music, his approach to rhythmic, harmonic and melodic
  64. structures are far more suitable to computer composition than to
  65. the physical limitations of human musicians and their acoustic
  66. instruments.  To a large extent his work is similar to that of
  67. the mathematicians and scientists who developed theory before
  68. technology - computers in particular - had advanced sufficiently
  69. to prove it.  Schillinger died in 1943, the year the first
  70. electronic computer was born.
  71.  
  72. Overview:
  73.  
  74. Melodia consists of three video pages: Instrument, Play, and
  75. Compose.  You can combine the Play and Compose pages into one
  76. screen with the Zoom menu command, and you can flip through the
  77. pages with the "Page" command.  To exit the program, save files,
  78. or manipulate the Sequencer Bank data (more about that later),
  79. you can pop up the File menu at any time.
  80.  
  81. The Instrument page allows you to build your own FM instruments,
  82. or to tweak any of the 128 predefined instruments.  The page is
  83. a graphical representation of the Yamaha FM chip that is found
  84. in most sound cards available today.
  85.  
  86. The Play page gives you control over which instruments are
  87. playing at any given time, and their rhythms, timbres, and
  88. volumes.  An instrument along with its performance controls is
  89. represented by one of 16 horizontal lines on the Play page and
  90. is called a "voice."
  91.  
  92. If you are using a sound card with a stereo FM chip, generally
  93. referred to as "OPL3," you will be able to play up to all 16
  94. voices simultaneously, and you will have left, center, and right
  95. pan.  Sound cards with the older FM chips allow a maximum of 9
  96. voices, with no pan.
  97.  
  98. The top two lines of the Play Page control the playing of a
  99. composition by stepping through up to 64 stages.  Each stage is
  100. a snapshot of the current settings of the Play and Compose
  101. menus. The usual process for composing a piece of music is to
  102. set up a pattern on the first stage, then to step through the
  103. following stages and progressively modify the sound: bring up
  104. more voices, fade the current ones out, etc.  Selecting "Strt"
  105. will then step through the stages, playing each one for the
  106. number of measures you selected.
  107.  
  108. The Compose Page is the heart and soul of Melodia.  This is
  109. where you select the pitch, timing, and other relationships,
  110. where you compose your music.  Although the appearance of all
  111. those numbers in neat rows seems intimidating at first, there
  112. are only seven different processes, each repeated several times.
  113. So with only seven things to learn, you will quickly find your
  114. way around.
  115.  
  116. These processes are used to generate pitches and other
  117. formatting controls such as Pan and Modulation.  They have been
  118. designed to be simple in concept but powerful in the virtually
  119. infinite ways they may be combined.
  120.  
  121. At the bottom of the page are the Clocks, which control rhythm. 
  122. There are 16 clock modules that combine to make 12 clocks.  The
  123. modules combine beats to make polyrythms as simple or as complex
  124. as you like.
  125.  
  126. On-line Help and Color Codes:
  127.  
  128. Every active area on the Melodia screen has a built in help line
  129. that is printed at the bottom of the screen when you press the
  130. right mouse button.  The rule is simple: click the right mouse
  131. button to see what an area does, click the left button to do it.
  132.  
  133. You can hold the right button down and move the mouse about the
  134. screen to get a quick scan of what all the controls in the area
  135. are about.
  136.  
  137. Each help line will indicate which of the three mouse gestures
  138. you need to use for the function:
  139.  
  140. "Click" is simply a left mouse click. Often you will get
  141. additional feedback (such as the control changing color) if you
  142. hold the button down for a moment when you click it.
  143.  
  144. "Dial" means to move the mouse left or right while holding the
  145. left button down.  The control you are changing will be
  146. highlighted while you are dialing it.  When you reach the
  147. desired value, release the left mouse button - the value will
  148. remain, the highlight will go away, and the mouse cursor will
  149. reappear.
  150.  
  151. "Slide" is similar to Dial, except it is used on the sliding bar
  152. controls.  While holding the left mouse button down, slide left
  153. or right.  The value of the control will change as will its
  154. position on the bar.  Release the mouse button to select the
  155. value.
  156.  
  157. In addition to the on-line help, the controls have a consistent
  158. color coding that tells you at a glance how different controls
  159. function.
  160.  
  161. White, green, cyan (light blue), and magenta (light purple)
  162. numbers all indicate an active control that can be changed by
  163. the mouse.
  164.  
  165. Yellow and non-numeric magenta labels are informational only and
  166. cannot be changed by the mouse.  
  167.  
  168. Some of these are documented by the on-line help, but most of
  169. them are simply documented as: "Not an active area."
  170.  
  171. The power behind Melodia's scheme is that most numeric controls
  172. take either values or connections.  Values are just that,
  173. numeric values you dial in.  These will be colored white.  
  174.  
  175. Connections are the value at the output of one of the Compose
  176. Page processes.  You get these by dialing a value left past
  177. zero. It will turn green and take on the label of the process.  
  178.  
  179. Processes all have magenta labels that identify them, and they
  180. have cyan output fields that are the values that are returned
  181. when you have one selected as a connection.  Connections are
  182. covered in detail in the Compose section of this document.
  183.  
  184. Instrument Page:
  185.  
  186. The Yamaha FM chip is based on the work of an American, Dr. John
  187. Chowning.  It is a simple but powerful concept for designing
  188. sounds that can imitate many traditional instruments, or for
  189. designing new sounds that can only be produced electronically.
  190.  
  191. The basic principle of FM synthesis is to have two simple sine
  192. wave generators, called "operators", with only one, the
  193. "carrier" operator actually producing the sound.  A sine wave is
  194. the purest sound wave (or any other wave) possible.  Since the
  195. sound is so pure, it is also of itself rather boring.  But
  196. things start to get interesting when the other operator, the
  197. "modulator," is fed into the frequency (pitch) control of the
  198. carrier, to produce a fairly rapid tremolo called Frequency
  199. Modulation, or FM.
  200.  
  201. What makes FM so powerful is that the volumes of the two
  202. operators are changed over time.  This makes the carrier - the
  203. operator you hear - resemble a natural instrument in volume: a
  204. sharp rise at first followed by a moderate drop down to the
  205. sustain volume, ending with a gradual drop to silence.  While
  206. the volume is changing in time, the modulator is also changing
  207. the harmonics of the carrier by sending its output to the
  208. frequency control of the carrier.
  209.  
  210. You can conceptualize the amplitude envelope by thinking about
  211. striking a single key on a piano: when you first strike the key
  212. there is a rapid rise in volume and harmonics, followed by a
  213. drop in volume with an increase in purity while you continue to
  214. hold the key down, followed when you release the key by a
  215. gradual (assuming you are using the sustain pedal) drop in
  216. volume as well as an increase in purity of the tone, down to
  217. silence.
  218.  
  219. This is the pattern used by the amplitude envelopes of both the
  220. carrier and the modulator in the Yamaha FM chip: an Attack time
  221. followed by an initial Decay time that drops down to a Sustain
  222. level, and finally a Release time that drops to zero.
  223.  
  224. The three time components are A = Attack, D = Delay, and R =
  225. Release. The amplitude component is S = Sustain.   
  226.  
  227. Actually, there are two additional amplitude components that are
  228. not adjustable: Attack always rises to maximum amplitude, and
  229. Release always drops to zero. But it is the adjustable
  230. components that give the envelope its name: ADSR = Attack,
  231. Decay, Sustain, Release.
  232.  
  233. What you need to keep in mind when you are tweaking an
  234. instrument is that the ADSR of the modulator controls the
  235. harmonics, while the ADSR of the carrier controls the volume. 
  236. They look and operate alike but they affect the sound in very
  237. different ways.
  238.  
  239. The one difference between the Modulator and the Carrier
  240. operators is that the Modulator has an additional control, FB =
  241. FeedBack.  This allows an extra level of subharmonics to come
  242. out of the modulator. At its most extreme setting things get out
  243. of hand, and you get what amounts to noise.  This is useful in
  244. small quantities to give a breathy quality to flute sounds, etc.
  245.  
  246. Also note that when you click on the FM box at the top center of
  247. the page, the routing of the two FM operators is changed, so
  248. that both of the operators go to the output.  In this case you
  249. have two carriers and no modulators (except that operator #1
  250. continues to have feedback, so it is in effect FM'ing itself).
  251.  
  252. Play Page:
  253.  
  254. The Play Page is divided into two parts: the top of the page
  255. controls global parameters such as tempo and the actual
  256. sequencing of the stages.  It is the computer equivalent of the
  257. conductor.  The rest of the page consists of the sixteen lines
  258. that control the voices. These are like the musicians in the
  259. orchestra.
  260.  
  261. Voice Controls:
  262.  
  263. Starting with the orchestra, the line of text labels just above
  264. the sixteen voice lines has only one active control, the
  265. Mute/Solo switch.  When in Mute ("Mut") mode, the leftmost blue
  266. numbers that identify which voice is active can have any
  267. combination of voices on or off.  These combinations are
  268. remembered by the stage sequencer. When in Solo ("Sol") mode
  269. only one voice is allowed on at a time, and the switch setting
  270. is not remembered by or changed by the stage sequencer. 
  271. Additionally, Solo mode connects the voice to the Instrument
  272. Page, so you can isolate a particular voice, then jump to the
  273. Instrument Page and tweak it.
  274.  
  275. There are four groups of four instruments each.  If you have a
  276. sound card with the older mono FM chip you can only use the
  277. first nine voices, otherwise each is identical.  Starting from
  278. the left, the number that identifies the instrument is a control
  279. that turns it on or off as described above.  When using the
  280. stage sequencer it is a good idea to turn the instruments on at
  281. least one stage before you need them, while the volume is zero. 
  282. This avoids glitches that may be produced when the instrument
  283. first comes on-line.  Using the mute as well as zero volume when
  284. you change instruments in a voice completely removes potential
  285. glitches that may be produced by loading new instrument
  286. parameters into the chip.
  287.  
  288. The next three icons control the rhythmic feel of the voice. 
  289. The first two of these control the actual rhythm, the third
  290. controls pitch delay that strongly influences perceived rhythm.
  291.  
  292. The blinking note icon indicates the clock on and off time.  You
  293. can click on it to change from a note every clock tick to a note
  294. only when the pitch changes.  If you think you should be getting
  295. sound from a voice but aren't, check that you have a note icon
  296. with a double flag (new note every clock tick), not a single
  297. flag (note only when pitch changes).
  298.  
  299. The letter icon next, labeled "Cl," is the Clock selector. The
  300. default is for the first voice to get clock A, the second to get B,
  301. etc. But this is arbitrary, and you can and probably should make
  302. changes.  All clock selectors have a range of A-L for the 12 Clocks,
  303. "M" for the measure clock and "N" for the maximum rate clock.
  304.  
  305. Next is the Pitch Delay selector. This value can be changed by
  306. dialing from 0 to 9, then A to F, a total of 16.  Its purpose is
  307. to delay the pitch for the number of clock ticks given.  At 0
  308. there is no delay; at 1 there is a delay of one tick; at 2, two
  309. ticks; and so on up to a delay of 15 ticks at F.  To understand
  310. this effect, set two voices to the same pitch pattern and the
  311. same clock, then dial a low number into one (only) of the two
  312. voices.  You will hear the pattern bounce from one voice to
  313. another.
  314.  
  315. A brief word about rhythms here:  Traditional Western music
  316. rhythms were derived from Gregorian chants, which were patterned
  317. after human speech.  This has worked well for us for some 600
  318. years, but today we have computers and therefore other options. 
  319. With Melodia you produce rhythmic structure by using different
  320. clocks that beat against one another.  It takes some getting
  321. used to, but with a little exploring you will find rich new
  322. rhythmic structures, along with new ways to build more
  323. traditional structures.
  324.  
  325. Actually the method is not all that new.  Schillinger was using
  326. it to codify music in the 1930's, and for centuries before that
  327. some of the most sophisticated rhythmic music on the planet has
  328. been produced in essentially the same way by tribal African
  329. musicians.
  330.  
  331. The three digit light blue number and white instrument name are
  332. a single command that selects which of the 128 instruments you
  333. want to use for a given voice.  The choice is arbitrary, you can
  334. set all the voices to the same instrument, or each to a
  335. different, or any combination.  You can also change instruments
  336. every time you step to a new stage, although it is usually
  337. better to change instruments during a quiet period to avoid
  338. glitches, as mentioned above.
  339.  
  340. Two controls affect pitch: transpose ("Tsp"), and keyboard pitch
  341. ("Kb").  Transpose is simply an absolute offset to the keyboard
  342. pitch.  Its range is that of the Yamaha FM chip: C of the 2nd
  343. octave in the MIDI note range of 0-128 (MIDI note 24), up to G
  344. of the 10th octave (MIDI note 127).  Actually, transpose only
  345. goes up to the tenth octave base, C/X, otherwise there would be
  346. no room to add in the keyboard notes.
  347.  
  348. When you dial the notes, notice that there are no flats. 
  349. Although you can easily set up any scale in any key you wish
  350. within the 12-tone system, the 128 notes recognized by MIDI are
  351. given their absolute C-major names.  The octave of middle C, for
  352. example runs consecutively from MIDI note 60 = C/5.
  353.  
  354. The Keyboard input (improperly named since there is no
  355. keyboard), the Pan input and the Mod input all take either
  356. values or connections. Values are just that, numeric values you
  357. dial in.  Connections are far more powerful and will be covered
  358. in detail in the Compose section.  Briefly, you can connect
  359. these voice controls to any of the Compose processes.  The
  360. default keyboard input for voice #1 is set to the fourth Random
  361. generator, which defaults to generating random values between 0
  362. and 24.  You will want to change this, it is intended only to
  363. give you a working sound to start with.
  364.  
  365. Pan is somewhat primitive in the Stereo FM chips, and
  366. nonexistent in the earlier Mono chips.  Still, it can be used to
  367. good effect. The only Pan positions are full Left, Center, and
  368. full Right.  Melodia uses values of 0-20 for Left, 21-42 for
  369. Center, and 43-63 for Left.  Ranges were used rather than Left,
  370. Center and Right to maintain compatibility with future versions
  371. of the FM chip.
  372.  
  373. The arrow at the left of the Pan control is the polarity switch.
  374.  Click on it to switch from up to down.  When down, the ranges
  375. for Left and Right are switched.  This is very useful to control
  376. pan of two voices so they move about but always remain
  377. symmetrical.  For a simple example of this, set one of the
  378. Random processors to 63, then dial in that processor to two pan
  379. inputs of two voices, with one arrow set up and the other down. 
  380. Dial the same clock into the two voices and the Random
  381. processor.  You should get a very lively bounce of the sounds as
  382. they bounce left, center and right, but remain separated.
  383.  
  384. Modulation ("Md") controls the Level input to the Modular
  385. operator of the FM instrument, and the Volume slider controls
  386. the Level input to the Carrier operator.  However, since a
  387. particular instrument may have two Carriers and instead of a
  388. Modulator and a Carrier - which would make it possible for the
  389. Volume to be a zero and still have sound coming from the other
  390. operator - the Md control is overridden by the Volume slider at
  391. low volumes.  The actual formula is: Md = MIN(2*Volume, Md).
  392.  
  393. The Volume slider becomes especially useful when you start
  394. building a multiple stage composition.  This is because of the
  395. Slew control to its right, which turns the Volume slider into an
  396. automated mixing console.  By setting Slew values to anything
  397. other than 0, the volume slider will automatically fade from the
  398. value at the last step, toward the setting at the current step. 
  399. Volumes will instantly jump to their settings if Slew = 0, or if
  400. the Halt control is clicked.
  401.  
  402. Slew times increase as the value increases and are not affected
  403. by the Tempo setting.  Thus, 0=instant, 1=fastest slew,
  404. 9=slowest slew.
  405.  
  406. Conductor Controls:
  407.  
  408. The two lines of controls at the top of the Play page are mostly
  409. for the stage sequencer.  You can and probably should spend much
  410. time with Melodia without ever using the stage sequencer.  But
  411. once you have mastered the basics, you will find that these
  412. controls will give you the tools to turn what was perhaps an
  413. interesting pattern into a complete composition.
  414.  
  415. The idea behind the stage sequencer is to give you tools to
  416. progressively alter your music in stages that can smoothly
  417. transition from one to the next.  There are up to 64 stages,
  418. each of which can last from 1 to 999 measures.  You build your
  419. composition by developing your musical themes, then by copying
  420. each stage to the next, and modifying that in some way.  Turn
  421. voices on, fade others out, change modulation, musical themes,
  422. etc.  At any time you can insert copies of earlier stages,
  423. delete stages, and so on.  Then, when you click on the Strt
  424. control, the stages will play, each for the number of measures
  425. you have specified, from start to finish.
  426.  
  427. The main stage controls are the top line Strt, Stop, and Cont
  428. commands and the blue Stage control, plus the measure control.
  429. Before you can use the stage sequencer, you have to dial in the
  430. number of measures you want a stage to play.  You do this by
  431. dialing a number into the rightmost green control on the second
  432. line that initially says "M=Stop."  Dial to the right for a
  433. measure count, dial to the left for Stop, Exit, or Loop.      
  434.  
  435. When in the default Stop mode, Melodia plays the current stage
  436. until you select Halt or exit the program.  Stop doesn't stop
  437. playing, it simply stops advancing stages.  Halt, on the line
  438. below, stops and starts playing.
  439.  
  440. Exit is the same as Stop, except it will also exit the program. 
  441. It will only Exit the program if two conditions are met.  First,
  442. you need to be in Play or Cont, second you need to have opened
  443. Melodia with a filename at the command line: MS MYMUSIC.
  444.  
  445. By selecting Exit instead of Stop, when you load it with a file
  446. name as described above, it will start playing as soon as it is
  447. called, and exit after it is finished; you can even set up a DOS
  448. batch file that will run a series of compositions automatically.
  449.  
  450. To run several pieces from a batch file, save each piece so that it
  451. ends with Exit, then edit a text file (giving it an extension of
  452. ".bat") so that each line calls MS with the file you want to run.
  453.  
  454. For example, edit a file named MYCOMP.BAT to look something like
  455. this:
  456.  
  457. MS PART1
  458. MS PART2
  459. MS PART3
  460. MS FINALE
  461.  
  462. Use "Save As.." from the DOS text editor to give the file its
  463. name ("MYCOMP.BAT"). If you used the editor from the MS File
  464. menu it will normally be put into the WORK directory, which is a
  465. subdirectory of MS.  The .BAT file has to be in the MS
  466. directory, which you can do with the DOS COPY command, or by
  467. giving it the MS directory name at the outset.
  468.  
  469. Then, to run your batch file, simply type its name instead of
  470. MS.  If this is all confusing to you, ask DOS for help.  Type
  471. "help edit," "help copy," or simply "help." If you have DOS
  472. Version 5.0 or later, it will tell you about itself.  For
  473. earlier versions you will have to consult the DOS manual.
  474.  
  475. The light blue number just to the right of the measure control
  476. is the readout of the current measures played on the current
  477. stage. This is set to 0 when the stage is first entered, and
  478. starts counting up according to the values defined in the tempo
  479. and time signature.
  480.  
  481. Tempo, just to the right of Halt, selects the musical tempo in
  482. quarter notes per minute.  The time signature selects the number
  483. of beats per measure / the note value of the beat.  The default
  484. of 4/4 is four quarter notes per measure.  3/4 would be 3
  485. quarter notes per measure. 2/8 is two eighth notes per measure. 
  486. When you change these values, it will affect the total playing
  487. time of your piece.  This will be indicated by the changed total
  488. time indicator on the far right of the line.
  489.  
  490. To the right of the time signature is the Dots control.  This
  491. turns the write protect dots on and off all at a time.  The
  492. write protect dots are the little green dots just to the left of
  493. each voice line and each of the process and clock lines on the
  494. Compose page.  When on (high yellow), the line is protected from
  495. being changed by Pop Top and Prev.  You can use Dots to turn
  496. them all on or off, then click on the individual dots to
  497. selectively flip them.
  498.  
  499. Pop, Top, and Prev are all ways to copy a previous stage onto
  500. the current one.  To use Pop or Top, you will first have to Push
  501. a stage onto the stage stack.  Then you can fetch it with Pop,
  502. or copy it with Top. Prev simply copies the previous stage, and
  503. is perhaps the most useful of these.
  504.  
  505. Compose Page:
  506.  
  507. There are two parts to the Compose page.  The Process modules
  508. take up the top three fourths of the page, the Clock modules are
  509. on the bottom quarter.
  510.  
  511. Clocks:
  512.  
  513. As the name implies, the clocks control the timing of events.  The
  514. most obvious event is a note turning on and producing sound.  But
  515. some other process are also clocked - that is, the process waits
  516. until a clock ticks before producing a new value.  Although the
  517. default setup runs all processes with the same clock, you should
  518. experiment with setting different clocks and different clock rates.
  519.  
  520. The clocks are labeled with the red letters A - L.  For the first
  521. four clocks, A-D, there are two identical clocks modules per clock
  522. beat.  Both of the A clocks combine to give the A clock beat, and so
  523. on for B, C, and D.  You can build complex polyrhythms by setting the
  524. individual clock modules to different rates.  Clocks E - L are single
  525. module clocks. 
  526.  
  527. Each clock has a rate of 0 (off) to 384 (4 whole notes).  These are
  528. relative clock ticks, not actual time values.  For example a quarter
  529. note is always 24 ticks, an eighth note 12 ticks, and so on.  The
  530. actual duration of a quarter note is set by the Tempo; however long
  531. the duration is, an eighth note will always be half that.
  532.  
  533. The green controls labeled "No(te)" allow you to dial in
  534. standard note values for 32nd through Double Whole notes.  You
  535. can also dial in the actual clock rate ("Rt").  Which ever one
  536. you dial, the other will also read out.
  537.  
  538. If you dial a rate of 6, the note readout will say "Sn," for
  539. Sixteenth note.  Dial 7, and the readout is "??," meaning there
  540. is no standard note value for that clock rate; dial 8, and the
  541. note readout becomes "E3," meaning Eighth note triplets; dial 9
  542. and you get "S." a dotted Sixteenth note.
  543.  
  544. The fastest clock rate you can dial is note value "T3," or rate
  545. of 2. This is one tick on and one tick off, two ticks total. 
  546. The note value is a 32nd triplet ("T3").  Dialing a rate either
  547. of 0 or 1 effectively turns off the clock: from the No(te)
  548. column, you can dial a note value of "--" which is rate 0, which
  549. is off.
  550.  
  551. In addition to the clock note value/rate, you can also control
  552. the note delay time and the sustain time.  Both of these values
  553. are in percentage of total note time.  Delay ("Dl") sets the
  554. time delay for when the clock is turned on.  Sustain ("Su") sets
  555. how long the clock will remain on vs. how long it will be off.
  556.  
  557. Clocks will always be on for at least one tick, and off for at
  558. least one tick.  In the case of a clock rate of 2, that is all
  559. there is, and delay and sustain controls have no meaning.  For
  560. all other clock rates, the delay value is calculated as the
  561. number of ticks before the clock will turn on, then the sustain
  562. is the number of ticks it will remain on.  If the total of
  563. sustain plus delay exceeds 100%, the sustain is shortened
  564. appropriately.
  565.  
  566. For example if a clock is set to a rate of 24 (a quarter note),
  567. the delay is set to 25 and the sustain is set to 50, the clock
  568. will remain off for 6 ticks (25% delay) then go on for 12 ticks
  569. (50% sustain) then go off for an additional 6 ticks (what's
  570. left). Increase the delay to 75 percent and the clock will stay
  571. off for the first 18 ticks, then go on for 5 ticks and off for
  572. the last tick.
  573.  
  574. There are two additional, hidden clocks.  The 13h clock, called
  575. "M" (A-L, then M and N) is the measure clock.  It will go on for
  576. one clock tick at the start of a measure. At the default time
  577. signature of 4/4, this is the same a whole note.  The 14th
  578. clock, "N," is the maximum rate clock.  It is the same as a 32nd
  579. note triplet, a clock rate of 2.
  580.  
  581. Processes:
  582.  
  583. On the top 3/4th of the Compose page, each of the highlighted
  584. magenta (purple) labels are processes that may be dialed as
  585. connections in many value inputs.  Connections are indicated by
  586. the value turning from a white number to a green label.  The
  587. documentation line, which appears when you click on the right
  588. mouse button, will indicate whether an input can be a
  589. connection.  The letter part of the label will be the first
  590. character of one of the process labels plus a number to indicate
  591. which particular process is being connected.
  592.  
  593. If an input is a connection, the process module indicated by the
  594. label becomes the value of the input.  For example, the Kb input of
  595. the first voice in the Play page defaults to green R4.  This means
  596. that the output from Random generator #4, a number from 0 to 24 in
  597. the default setting, will be sent to the voice.  If you dial voice
  598. #1's Kb connection to the right it will pass through other connection
  599. labels and eventually become a white numerical value.
  600.  
  601. At a glance, the processes are:
  602.  
  603. Bsq (B1 - B8): Bank Sequencers
  604. Ctl (C1 - C4): Control values
  605. Fol (F1 - F4): Follow processors
  606. Ran (R1 - R8): Random generators
  607. Ssq (S1 - S8): Switch Sequencers
  608. Tst (T1 - T4): Test processors
  609.  
  610. All of the processes end in the same way:  an offset
  611. value/connection followed by a Note/Value output readout.  The
  612. offset (indicated by the + icon at the top of the column) adds
  613. the value or connection to the process just before it is sent to
  614. the output.  The N/V column is a readout of the final result of
  615. the process, either in note or numerical readout.  The process
  616. result is not changed in any way by switching from N to V: it is
  617. always seen as a numerical value to whatever is reading it.
  618.  
  619. Ssq - Switch Sequencer:
  620.  
  621. Each of the 16 steps in this sequencer can be either a value or
  622. a connection.  When a stage is set to a value, the process acts
  623. like a simple sequencer; when a stage is set to a connection,
  624. the process acts like a switch.
  625.  
  626. To set a stage input, turn the step direction (the green icon
  627. just to the right of the clock selector) to off.  Dial all the
  628. way to the left, to the little green square icon.  Then select a
  629. stage by sliding the number value on the blue slider area.
  630. 0=first stage, 1=2nd stage, etc.  At the # input just to the
  631. right of the slider, dial in a value or - by moving the mouse
  632. far left - dial in a connection.  Select the next stage with the
  633. stage slider and repeat.
  634.  
  635. Ran - Random generator
  636.  
  637. This processor will generate a new random value each time the
  638. clock ticks, then add up to two other values or connections to
  639. it.  If you set the random limit value to 0, the random process
  640. is disabled and you have a two input mixer. The 4th Ran
  641. processor has a special use. It is the input to the "R" bank
  642. copy in the File menu. This will be covered in greater detail in
  643. the File menu section.
  644.  
  645. R4 is also unique in its ability to generate values limited to
  646. the C major and C minor scales.  The green icon to the left of
  647. the magenta 4 at the beginning of the processor controls this. 
  648. Click on it to switch between major and minor scale, or no scale
  649. (no change of the input).  This effect is done after the offset
  650. is added, so you can optionally disable the random number by
  651. setting the limit to 0, and use the offset as an input to any
  652. other processor, which will then be converted to the scale.
  653.  
  654. Random generators R5-R8 have no control inputs and therefore do
  655. not appear on the screen, only the output connections are
  656. accessible.  These connections deliver a new random number in
  657. the range of 0-63 every computer cycle.  Since all clocked
  658. processes only "look" when their clock ticks, the rapidly
  659. changing random numbers from R5-R8 are "sampled" as needed by
  660. these processors.
  661.  
  662. Bsq - Bank Sequencer
  663.  
  664. The basic function of the Bank Sequencer is simple: it reads a
  665. value that you have stored at a memory location.  The various
  666. ways that you can read values and the ability to store
  667. information in an automated way gives the Bank Sequencer such
  668. great utility that it will likely become the process you depend
  669. on most.
  670.  
  671. There are 10 memory banks, of 10,00 memory locations each.  The
  672. "B" column specifies which bank a particular process will read
  673. from. Within that bank, the high and low address ("aH" & "aL")
  674. inputs select the memory cell that will be accessed or written
  675. to.
  676.  
  677. Clocks treat the address high and address low as a single
  678. address of up to 10,000 cells.  The actual range is from 0 to
  679. the address specified by the End button, the column of dots
  680. labeled "E."  This defaults to 24, you can set it to any address
  681. by dialing that address into the high and low address inputs,
  682. then clicking on the End button.  It will change from a large
  683. green dot to a bright yellow circle.
  684.  
  685. Clocks can step the high and low address up, down, up & down,
  686. random or random up/down.  Up (the up arrow) will increment the
  687. address up to and including the End address, then on the next
  688. clock tick it will reset the address to 0.  Down (the down
  689. arrow) does the reverse, resetting after address 0 to the End
  690. address.  Up/down (the up/down arrow) does both - the address
  691. will be incremented up through the End address, then it will
  692. decrement down to 0, then increment up, etc.  Random (a question
  693. mark) will select a random address from within the range of 0 to
  694. the End address.
  695.  
  696. Random up/down is a special case that works like up/down, except
  697. that it will switch directions at random times.  That is, it
  698. does not quite count up to the End address, then down to 0, etc.
  699.  Rather it counts up for a while, then down for a while, etc. 
  700. The up down cycles are weighted to be more likely to continue on
  701. the current direction than to change directions at each clock
  702. cycle.  This gives an up/down wandering that is more natural and
  703. melody-like.
  704.  
  705. There are times when you might want the clock to increment in
  706. steps greater than 1.  The DNA text is a good example of this. 
  707. DNA text is set up as sequences of characters that are grouped
  708. in three's representing the amino acids produced by the DNA.
  709. Thus, to step through the DNA you would step in increments of
  710. three.  The column labeled delta (triangle icon) allows you to
  711. do this by varying the step size from 0 to 15 steps at a time. 
  712. Normally this is set to 1, but in the DNA example given above,
  713. you would set this to 3.  
  714.  
  715. The next column is the address offset.  Usually you want the
  716. address given by the high and low address inputs.  But when you
  717. are clocking multiple values such as the DNA example, you would
  718. set three processors to be exactly the same, including an offset
  719. of 3; then you would leave the first of these at offset 0, which
  720. means it reads at address given; and you would set the offset to
  721. the other two at 1 and 2, to read from the given address plus 1,
  722. and at the given address plus 2.
  723.  
  724. The following formula calculates the actual address of a cell
  725. within the 100,000 cell range of the Bank Sequencer:
  726.  
  727. cell = (bank x 10,000) + (address high x 100) + address low +
  728. offset
  729.  
  730. Setting the Delta input at 0 is a special case.  This disables
  731. the clock from changing the address and enables a connection in
  732. the address high and low inputs to change address.  This is a
  733. subtle but powerful feature.  It allows you to use the processor
  734. as a translator as well as a sequencer.  For example, to
  735. generate a random value that gives random scale values, set the
  736. first 7 values to the 7 notes of a scale, set the random
  737. processor to a limit of 7, then dial a connection to that
  738. processor to the low address input, with Delta set to 0.  Unless
  739. Delta is 0, you cannot dial connections - the addresses will
  740. stop at 0.
  741.  
  742. When you use connections as addresses, the End address is
  743. ignored. Any location can be addressed by combinations of high
  744. and low address input connections.  You effectively have 100
  745. sub-banks of 100 locations.
  746.  
  747. The three digit readout (# icon) gives you access to the
  748. addressed memory cell.  It is the contents of the cell when you
  749. read it; when you dial in a value it changes the cell to that
  750. value.  If you dial left past 0, the cell becomes a connection.
  751.  
  752. Fol - Follow processor:
  753.  
  754. The Follow processor attempts to catch up with the input value
  755. (arrow icon).  At each clock step the processor generates a
  756. value that is one step closer to the input, plus the offset (+
  757. icon) value, minus the negative offset (- icon).  By not
  758. changing the Follow input, you can use this processor simply to
  759. subtract values.
  760.  
  761. Ctl - Control processor:
  762.  
  763. This is essentially the same as the Volume control in the Play
  764. page. Whatever value you set in the Amount slider gets added to
  765. the offset and sent to the N/V.  If you set the slew level to 0,
  766. the output is updated instantly, any other number causes the
  767. output to change over time, with higher numbers changing more
  768. slowly.
  769.  
  770. Tst - Test processor:
  771.  
  772. The Test processor is a switch between two inputs, with the
  773. output determined by a test of two other inputs.  The inputs
  774. labeled #A and #B are the test inputs.  The green icon between
  775. them, labeled T for Test, determines the test, and the output is
  776. switched from either the Y (Yes) column or the N (No) column,
  777. depending on the test results. Possible tests are: greater than,
  778. greater than or equal to, equal, less than or equal to, less
  779. than, not equal.
  780.  
  781. File Menu:
  782.  
  783. At its most basic level, the File menu lets you load and save a
  784. piece of music, and it lets you exit the program.  Even these
  785. functions can be ignored if you wish.  You can exit simply by
  786. typing the ESC key. If you have modified your music in any way,
  787. you will be notified, and you can type "S" to Save or "D" to
  788. Discard, or you can select those choices with the mouse from the
  789. pop up box.  Unless you have changed the current name, your
  790. music will be given the name "Default."  Next time you enter
  791. Melodia, your music will automatically be loaded.
  792.  
  793. To give maximum flexibility, Melodia uses several different
  794. types of data files; to make it easy to use, different files are
  795. handled as a group by the File Menu.  If you prefer, you can
  796. ignore the distinction and the program will keep track of
  797. everything automatically.
  798.  
  799. Save:
  800.  
  801. The Save box at the upper left of the File menu can be clicked
  802. to save your work at any time.  If there is a check mark in
  803. front of Save, the file had been modified, a dot means no
  804. modification has been made since the last Save.  You can click
  805. on the check mark to force it on or off.    
  806.  
  807. If you change a check to a dot, you will not be asked to save
  808. your file when you exit unless you make new changes to it.  Be
  809. careful with this, as it could cause you to lose work.
  810.  
  811. Erase:
  812.  
  813. Erase will erase the music files associated with the current
  814. name. It will ask you for confirmation, giving you the name of
  815. the file set it is about to erase.  If you select "OK," the
  816. files will be lost and you cannot recover them.  You must always
  817. load the files into the workspace before you erase them.  After
  818. you erase, the working name is set to "DEFAULT."
  819.  
  820. Changing  Save Name:
  821.  
  822. The current working name is in the box under Save and Erase, in
  823. highlighted white text.  You can change this by clicking on it
  824. and then typing a new name.   If you type a DOS-illegal
  825. character, it will be changed to the $ character, which is legal
  826. for DOS filenames.  If you hit a space, all characters past the
  827. space are erased.  When you hit the Enter key, the new name will
  828. become your working name.
  829.  
  830. If the previous workspace had been modified, you will be asked
  831. to Save or Discard it, then you will be asked whether to Load,
  832. Overwrite, or New.  Load will load the existing file set, if
  833. none is found it will load the default setup.  Overwrite will do
  834. nothing, so that the next time you Save, your current music will
  835. overwrite the old.  It is like "Save as..." in the editor.  New
  836. will erase the workspace so you have a new slate to work with.
  837.  
  838. Loading Music Files:
  839.  
  840. The names in the column under the current working name are music
  841. files that you can load.  Click on them and they will load,
  842. after first giving you a chance to save the current workspace if
  843. it had been modified.  If you have more saved files than can be
  844. seen in the box, you can scroll them with the green happy face
  845. icon on the right edge of the box.
  846.  
  847. Three different files are required for a complete music
  848. workspace. These are:
  849.  
  850. Instrument (.IBK) files that specify the names and parameters of
  851. the 128 instruments.  These follow the same file format as the
  852. SoundBlaster .IBK files.
  853.  
  854. Music (.MUS) files that set the values and connections of all 64
  855. steps of the compose and play pages.
  856.  
  857. Bank files (.BNK) that specify the data in the Bank Sequencers.
  858. Since the Bank Sequencer data area is quite large - 100,000 -
  859. bytes the bank files are normally compressed.  If you want to
  860. save or load them in the uncompressed form, rename the files
  861. with an "@" as the first character of the name.  After you have
  862. loaded such a file, Melodia will change the first character in
  863. the work name to "$" so that it will compress the bank when you
  864. save your work.  This is to help you keep from running up your
  865. disk space unintentionally.
  866.  
  867. Melodia always saves all three files, and when you load a
  868. workspace it loads all three files if it finds them. If it does
  869. not find a particular file, it will set that file's workspace to
  870. default.
  871.  
  872. At any time, you can load a work file from another piece of
  873. music into your current work file.  Do this by clicking on the
  874. names Instrument, Music, Bank, or Text in the box below the file
  875. area. Whichever name you click on will get a check mark and the
  876. file name area will change to show just those types of files. 
  877. Click on the file name area to load that file into your current
  878. workspace, or click on the checked name to uncheck (cancel) it.
  879.  
  880. Text Files:
  881.  
  882. Text files are a special case.  They are not actually part of
  883. the work file set.  They are simply text files given the
  884. extension .TXT so that Melodia can recognize them.  These files
  885. are loaded into the Bank Sequencer memory area in a special way.
  886.  
  887. When you load a Text file,  Melodia loads the unmodified text
  888. into Bank 2.  The text is then munched on by the computer in a
  889. process called a histogram, in which the usage of each character
  890. is counted and the characters used most often are given more
  891. harmonic notes.  This is put into Bank 0 in the major scale and
  892. Bank 1 in the minor scale.
  893.  
  894. Bank 3 is set according to a different formula: yours.  It only
  895. works if there is a value other than zero in one of the first
  896. two cells in bank 9.  Since the default bank settings are 0-7
  897. for the eight Bsq processors, you have to set the B column of
  898. one of the processors to 9 to see it.
  899.  
  900. If Melodia finds something there, then bank 3 will be set
  901. accordingly.  The most frequent character will be set ("mapped")
  902. in bank 3 to the value of the first cell in bank 9, the next
  903. most frequent character will be set to the value of the second
  904. cell in bank 9, and so on.
  905.  
  906. Thus if you set the first 4 cells in bank 9 to 12, 7, 4, and 9
  907. (musical intervals of an octave, perfect 5th, major 3rd, and
  908. major 6th), any text you load will be mapped into Bank 3 with
  909. every occurrence of the most often used character set to 12,
  910. every occurrence of the next most often used character set to 7,
  911. the next to 4 and the next to 9.  Assuming all the other cells
  912. in bank 9 were left at 0, all other characters of your text will
  913. be mapped to 0 on Bank 3.
  914.  
  915. You may use the DOS EDIT editor directly from Melodia to create
  916. and edit text files.  Do this by clicking on the Edit command in
  917. the lower right of the Files Menu. Be sure to save the files
  918. with an extension of .TXT or Melodia won't recognize them. 
  919. These files, as with all Melodia work files, must be in the WORK
  920. subdirectory.  When you use Edit this is automatic.
  921.  
  922. DNA Files:
  923.  
  924. In addition to processing regular text, Melodia can also
  925. recognize DNA sequences in a text file.  These are long
  926. sequences of the characters T, A, C, and G.  Several DNA files
  927. have been supplied with Melodia, which are accessible by
  928. clicking a second time on "Text" in the file menu.  "Text" will
  929. change to "DNA," and the file names in the file box will be
  930. changed from files that have the extension .TXT to those with
  931. extension .DNA.
  932.  
  933. Any file Melodia loads that has a string of at least 9 of the
  934. DNA characters is recognized as a DNA file, whether it has a
  935. .TXT extension or a .DNA extension.  DNA processing follows
  936. normal text processing, so the individual codons (the characters
  937. A, C, T, and G) will have intervals assigned to them just as
  938. normal text.
  939.  
  940. Once a file is recognized as a DNA file, all the characters that
  941. are not part of the DNA string are removed.  This is done before
  942. the histogram, so the discarded text will not alter the
  943. histogram.  Next, the string is separated into "DNA chunks" of
  944. three characters each, which are then classified and assigned
  945. music intervals, octaves and pan settings according to which of
  946. the twenty amino acids the codon set produces.  To view the
  947. specifics, and to change them, edit the text file "DNASET.DAT"
  948. in the MP (not MP/WORK) directory.  
  949.  
  950. It turns out that DNA sequences make rather nice and
  951. recognizable melodies, whether they are used directly or as
  952. source material.  Although the background on using DNA is fairly
  953. dense, actually using is quite simple.  When you load the Text
  954. file that has DNA strings, Melodia puts the DNA information into
  955. Bank 4 for the major key, and Bank 5 for the minor key.
  956.  
  957. For every group of three DNA characters in the text banks, there
  958. is one associated protein data group of three cells in each of
  959. the DNA banks 4 and 5.  The first cell is the musical interval
  960. associated with the protein, the second is the octave that is
  961. assigned according to the classification of the protein, and the
  962. third is a pan setting associated with the protein.
  963.  
  964. So the most simple and direct way to use the DNA bank is to set
  965. up Bsq #1 in the normal way for using text, setting the "B"
  966. (bank) input to 0 for major key or 1 for minor key.  Then set
  967. the next three Bsq B inputs to 4 (5 if minor key), set the
  968. deltas to 3 (so it counts by 3's), and set the 2nd and 3rd
  969. offsets to 1 and 2 respectively.  Thus, Bsq #2 will get the
  970. pitch interval, Bsq #3 will get the octave (the interval + the
  971. octave will uniquely identify the protein), and Bsq #4 will get
  972. the pan. 
  973.  
  974. To be scientifically accurate use two clocks: The first connects
  975. to Bsq #1 and runs at a rate that is three times as fast as the
  976. second, which is connected to the other three Bsq's.  Thus for
  977. every three codon values sequenced from B1, there will be one
  978. each of interval, octave, and pan for the associated protein
  979. that is contained in B2, B3, and B4.  The octave and the
  980. interval were separated because you can use the octave to good
  981. effect for both the protein interval in B2 and the codon text
  982. interval in B1.
  983.  
  984. Copying Data Banks:
  985.  
  986. Bank data can be easily moved around from one bank to another. 
  987. This is the number-arrow-number next to Bank in the file menu. 
  988. Dial the source bank, the bank you want to copy from, into the
  989. first number; then dial the destination bank into the second
  990. number.  When you click on the arrow the source bank is copied
  991. into the destination bank.  Previous contents of the destination
  992. bank are lost.
  993.  
  994. In addition to the 10 data banks, numbered 0-9, there are also
  995. four temporary holding banks, labeled A-D.  These banks are not
  996. saved nor are the contents changed when a new bank or new text
  997. is loaded.  When you load a new workspace or exit Melodia they
  998. are lost.  You can use them to shuffle data from one file to
  999. another, to do multiple Text mappings, whatever.
  1000.  
  1001. The final label on the source side of the arrow is R for Random.
  1002. This is an unassuming little doorway into a very powerful
  1003. feature of Melodia. By setting the source to R, the destination
  1004. bank will be loaded from its current address to its End mark
  1005. with the results of the R4 processor, calculated once for each
  1006. step between the destination bank sequencer's current address
  1007. and its end icon.
  1008.  
  1009. Although you can use the R source to simply load the bank with
  1010. random values, this is only the beginning of what can be done.
  1011. The Ran limit value can be set to 0, turning off the random
  1012. process but leaving the two offset inputs as a mixer.  Thus, you
  1013. can set up any process at all, however complex, and rout it
  1014. through the offset inputs to R4 - which will then be calculated
  1015. for each clock cycle and sent to the destination bank.
  1016.  
  1017. By updating the current address and End address of the bank for
  1018. consecutive "R" dumps, you can set multiple areas on the same
  1019. bank. The only limitation is that R does not use clocks, rather
  1020. it does a calculation of every processor for each step between
  1021. the start and End addresses.  This means you should test your
  1022. runs by using the same clock rate for each process in the chain.
  1023.  
  1024. If the End address is greater or equal to the start address, R
  1025. does nothing.  It is a good idea to check your address low and
  1026. address high settings before using R.  Usually you will want to
  1027. set them to 0, to fill in the entire area between 0 and End.
  1028.  
  1029. Speed Star:
  1030.  
  1031. On very complex or very fast pieces a yellow star may start to
  1032. blink in the lower right hand corner of the screen.  This is an
  1033. indication that your computer is running out of processing time.
  1034.  A little blink of the star from time to time is normal. 
  1035. However a steady showing indicates the timing is inaccurate and
  1036. your music will likely run at a different speed on a faster
  1037. computer.  Reducing overall tempo (top of Play page), then
  1038. increasing individual clock rates helps.
  1039.  
  1040. About the Author:
  1041.  
  1042. Melodia was written by John Dunn.  John has been a pioneer in
  1043. computer music and art since the 1970's when he combined
  1044. microcomputers and analog sound and video synthesizers as a graduate
  1045. student at the Art Institute of Chicago.  He was one of the early
  1046. programmers for Atari video games, and he developed the first ever
  1047. professional paint program for a microcomputer, Cromemco's
  1048. "Slidemaster," released in 1981.
  1049.  
  1050. John went on to write a major paint program for the IBM-PC,
  1051. called "Lumena," and founded Time Arts Inc. of Santa Rosa,
  1052. California, to market "Computer Tools for Artists."  In 1984 he
  1053. wrote one of the first algorithmic composing programs for MIDI,
  1054. "MusicBox," which was released with full source code to the
  1055. public domain two years later.  MusicBox is still available on
  1056. CompuServe some and other data services that support MIDI.
  1057.  
  1058. DISCLAIMER OF WARRANTY:
  1059.  
  1060. THIS SOFTWARE IS SOLD "AS IS" AND WITHOUT WARRANTIES AS TO
  1061. PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER
  1062. EXPRESSED OR IMPLIED.  BECAUSE OF THE VARIOUS HARDWARE AND SOFTWARE
  1063. ENVIRONMENTS INTO WHICH THIS PROGRAM MAY BE PUT, NO WARRANTY OF
  1064. FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.  THE USER MUST ASSUME
  1065. THE ENTIRE RISK OF USING THE PROGRAM.  ANY LIABILITY OF THE SELLER
  1066. WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF
  1067. PURCHASE PRICE.
  1068.  
  1069. Copyright Notice:
  1070.  
  1071. Melodia is Copyright (c) 1993-1994 by John Dunn.  All Rights Reserved.
  1072. Forth nucleus Copyright 1989 LMI.
  1073.